Method and controller for creating and optimizing flexible, top-quality cam-disk functions directly via the control program/user program

ABSTRACT

For this purpose, a movement of a moving machine element is described in sections by a cam-disk function (f(x)), by virtue of the fact that individual consecutive movement sections (x 1  . . . xn) are defined by segments (B) and/or points (A), and interpolation is carried out between such movement sections according to a prescribable interpolation rule (C), instructions being provided for prescribing and/or for inserting points, segments and interpolation rules in the operating time system of the controller. In order to define segments (B), use is made of a combination of a polynomial having at least a polynomial degree of six and a sinusoidal function as trigonometric component. The laws of motion for cam mechanisms can thereby be implemented directly in accordance with VDI 2143. Linear connections (c 1 ) or cubic splines (c 2 ) or Bezier splines serve as interpolation rule for connection between consecutive movement sections. Parameters can be derived directly from a machining process. There is no need for an additional computer system outside the controller in order to create and optimize cam-disk functions.

BACKGROUND OF THE INVENTION

[0001] The invention relates to a method for creating and/or optimizing a cam-disk function for controlling a moving machine element of a numerically controlled production machine or the like in the operating time system of the machine, and to a corresponding controller for such a machine.

[0002] Curves for controlling machine elements of production machines such as packaging machines, textile machines and the like are conventionally created outside the controller on a separate computer system, or prepared profiles are called up, or the latter are programmed on line via points or simple polynomial functions. When being created externally, the curves are created on a tool and loaded into the controller of these machines, for example as a memory-intensive interpolation point table. In the case of online creation, lists of points are created, prepared profiles are used, or polygons are created via simple polynomial functions.

[0003] A disadvantage of such a mode of procedure now resides, firstly, in that no substantial changes to these cam-disk functions can be undertaken in the operating time system of the machine controller. Rather, there is a need for renewed external creation taking account of desired changes on the separate computer system before a transfer into the controller of the production machine is then performed anew. Secondly, it has only been possible so far to create simple prepared profiles/polygons in the controller.

[0004] The machine manufacturer equips his production machine with a permanently prescribed functionality which the user can parameterize, or which can be adapted to the production process via appropriate algorithms implemented by the machine manufacturer. An additional computer is required by the machine manufacturer to create these machine programs. The consequence of this is that a machine manufacturer also generally requires an external additional computer in order to adapt or to expand the functionality of a production machine. In particular, a possibility has so far been lacking for creating or optimizing flexible, top-quality cam-disk functions, which prescribe the movement of an element of the production machine, on the machine itself.

[0005] This limits the flexibility in an undesirable way, and prevents the online creation of top-quality, combined cam-disk functions.

[0006] It is therefore the object of the present invention to create a possibility for programming and optimizing top-quality, combined cam-disk functions via the user program.

[0007] This object is achieved in accordance with the present invention in that the method named at the beginning is developed by virtue of the fact that a movement of the machine element is described in sections by the cam-disk function, by virtue of the fact that individual consecutive movement sections are defined by segments and/or points, and interpolation is carried out between such movement sections according to a prescribable interpolation rule, instructions being provided for prescribing and/or for inserting points, segments and interpolation rules in relation to the operating time.

[0008] Furthermore, the object is achieved by means of a controller for a moving element of an industrial production machine or the like, in which a movement of the machine element can be described in sections by the cam-disk function in the operating time system of the controller via appropriate control instructions for creating and/or optimizing a cam-disk function, by virtue of the fact that individual consecutive movement sections can be defined by segments and/or points; interpolation can be carried out between such movement sections according to a prescribable interpolation rule; and control instructions being provided for prescribing and/or for inserting points, segments and interpolation rules in relation to the operating time.

[0009] It has proved to be advantageous both for the method and for the controller according to the invention when segments are prescribed by a combination of a polynomial and a trigonometric component.

[0010] A combination of a polynomial having a polynomial degree of at least six and a sinusoidal function has proved to be particularly favorable in this case as a trigonometric component for defining segments.

[0011] Further advantageous refinements of the invention make use of linear connections or cubic splines or Bezier splines as interpolation rule for connection between consecutive movement sections. Such splines are assembled in a piecewise fashion from polynomials.

[0012] In order to be able to use the laws of motion, present in normal form, of the VDI standard 2143, the polynomial segments are stored in normal form in a generally valid fashion, and supplementary parameters referring to the respective actual extension for both axial coordinates are allocated.

[0013] It has proved, furthermore, to be favorable when the response at the edges of the cam-disk function is prescribed via criteria referring to the continuity of the position and/or the speed and/or the acceleration of the machine element.

[0014] According to a further advantageous refinement, scaling ranges and associated scaling factors for these ranges can be prescribed directly in the user program. The scaling ranges can correspond to the segment definitions, but need not do so.

[0015] When the parameters for defining the cam-disk function are derived directly from a production process for the machine, a process-adaptive cam-disk generation can be achieved through the invention.

[0016] In order to be able to define new curves, in a further advantageous design of the invention, an existing cam-disk function can be reset in the operating time system for the purpose of preparing a new definition of a cam-disk function.

[0017] A curve generated or optimized in this way according to the invention is present as a mapping in the memory of the controller and, according to a further advantageous refinement, can be used for a synchronous operation by virtue of the fact that in order to control the moving machine element a slave shaft thereof follows an assigned main shaft of the machine element in accordance with the defined cam-disk function.

[0018] Thus, the invention can be used to reduce substantially the memory location requirement in the controller for application programs and user data by comparison with conventionally stored, copious tables. Moreover, the flexibility of a production machine equipped with the invention is decisively improved in that the functionality at the machine itself can be varied or enhanced. This additionally increases the economic efficiency of the machine.

[0019] Further advantages and details of the invention emerge with the aid of the following description of an exemplary embodiment, and in conjunction with the figures, in which, in a representation of principle:

[0020]FIG. 1 shows a cam-disk function consisting of a plurality of movement sections connected by interpolation;

[0021]FIG. 2 shows a comparison of a segment of a curve in normal form and its mapping after a transformation; and

[0022]FIG. 3 shows a sketch of the principle of the parameters taken into account by the machine controller in accordance with the invention.

[0023] In accordance with the invention, a cam-disk function is created in the operating time system of the numerical controller of a machine via a programming option with the aid of specifically provided instructions in the user program. As a result, there is no longer a direct need for an external additional computer specifically for creating cam-disk functions in order to intervene in a cam-disk function profile of an existing automation solution. It is thus possible to create anew a top-quality, combined cam-disk function with the new instructions, described in more detail below, in the user program.

[0024] For this purpose, cam-disk functions y=f(x) are assembled from a plurality of functions which are prescribed in segments. The movement to be described by a moving machine element is resolved for this purpose into individual consecutive segment sections x1 to xn. These segment sections are now described by functions which can be prescribed from individual points A or segments B.

[0025] In order to connect individual movement sections x1 to xn, an interpolation segment is then defined between such points A or segments B by prescribing an interpolation rule C. This can optionally produce a linear connection c1 or a connection via cubic splines c2 or Bezier splines.

[0026]FIG. 1 shows an example of a cam-disk function f(x), generated in such a way, over the path x, subdivided into movement segments x1 to x6, which function is assembled from individual points A and segments B which are connected via interpolation segments c1 and c2. In this case, the interpolation segments, if present, are arbitrarily assigned to the movement sections with the aid of individual points A.

[0027] The interpolation section connecting the individual point A of movement section x1 with the polynomial segment B of the movement section x2 describes a linear connection c1. Following in movement section x3 is a further individual point A, which is likewise connected to the polynomial segment B from x2 via a linear interpolation section c1. Following in section x4 is a linear segment B which is connected to the individual point A from x3 via a cubic spline c2, and connected to a further cubic spline B in movement section x5 via a further straight interpolation connection c1. The movement section x5 is likewise connected to a further individual point A in the movement section x6 via a linear interpolation connection c1.

[0028] This shape of curve therefore represents an exemplary cam-disk function f(x) which can be created, supplemented or optimized via appropriate instructions in the operating time system of a machine controller. Such instructions are, for example, A: _addPointToCam() B: _addSegmentToCam() C: _interpolateCam() D: _setCamScale() E: _resetCam()

[0029] and are programmed in the user program, which is then compiled during downloading.

[0030] Additionally, the response at the curve edges can be prescribed via criteria referring to the continuity of, for example, the position, the speed or the acceleration of the moving machine element.

[0031] Cam-disk functions or their curve segments are described as functions, which consist of polynomials up to the polynomial degree of 6 or higher, and a trigonometric component, in particular a combined trigonometric sinusoidal function, in accordance with the following calculating rule $\begin{matrix} {y = {{\sum\limits_{n = 0}^{6}\left( {A_{n} \cdot x^{n}} \right)} + {B \cdot {{\sin \left( {{C \cdot x} + D} \right)}.}}}} & (1) \end{matrix}$

[0032] The factors A to D are not to be confused in this case with the previously used reference symbols for the instructions for individual points, segments and interpolation rules etc.

[0033] It is thereby achieved, inter alia, that the transitions can be mapped or realized according to VDI Guideline 2143 “Bewegungsgesetze für Kurvengetriebe” [“Laws of motion for cam mechanisms”]. Optimized laws of motion for cam-disk mechanisms, which are optimal for movements in the case of such machines, are specified in VDI Guideline 2143.

[0034] As shown in FIG. 1, it is favorable in this case to bring the representation into the normal form normalized to 1 in accordance with

{ƒ(p): pε[0.1]ƒε[0.1]}.  (2)

[0035] The representation in FIG. 2 illustrates this transformation with the aid of two contrasting coordinate systems. The left-hand illustration shows a cam-disk function f(x)=x² with the corresponding segment in normal form in the first quadrant of the coordinate system. Only the range between XN1 and XN2 is required to describe a corresponding movement section.

[0036] The representation produced by the above-described transformation is shown in the right-hand coordinate system. The dashed arrows indicate this transformation. The correspondingly marked section is mapped there in the range of X1, Y1 and X2, Y2. Such a segment B is allocated its actual extension on both axial coordinates X and Y (definition and value ranges) via additional parameters.

[0037] In addition to the creation of such cam-disk functions directly in the user program, it is also possible to provide further instructions directly in the operating time system in order to define scaling ranges. Thus, a further instruction of the controller serves to scale the overall curve f(x) or individual curve ranges. Again, scaling factors can be prescribed for these ranges directly in the operating time system, as can instructions for defining offset values for the definition range and the value range.

[0038] Further instructions serve to activate or deactivate a cam disk in a synchronous function in which a slave shaft of a moving machine element follows its assigned main shaft in accordance with the defined cam-disk function f(x).

[0039] With the above functionality in accordance with the present invention, an additional computer system outside the controller is therefore no longer necessary for creating curves to define the movement profile of a machine element. Parameters can be prescribed for curved definition via simple operator communication systems of the controller itself.

[0040] As a further advantage of the invention, the possibility is opened up of stipulating parameters or deriving parameters directly from an ongoing process, for example a production process of a production machine. Cam-disk functions f(x) can thus be adapted directly to the process by using parameters derived via the instructions represented above and derived from the process to adapt the cam-disk function. Such a process-adaptive generation of the cam-disk function and optimization of the cam-disk function without an additional computer open up new possibilities with regard to the productivity and flexibility of production machines equipped with such controllers in accordance with the invention. Thus, it is possible, for example, to react to wear phenomena such as, for example, loosening effects by adaptive matching of the basic cam-disk function to the instructions outlined above.

[0041]FIG. 3 illustrates these possibilities with the aid of a machine controller S of an arbitrary production machine having the functionality outlined above and the parameters to be taken into account in the case of the creation of a cam disk directly in the operating time system of the controller. Such a machine controller has, inter alia, an interpolator and can executive movement instructions directly. The controller processes parameters from the machining process P itself, instructions prescribed via an operating system B, and the axial criteria K of the moving machine element, which are prescribed by the machine and the structural design thereof itself.

[0042] Appropriate curve creation programs can be stored in libraries by the machine manufacturer in the form of a parameterizable automation program in the controller S, by virtue of the fact that the machine manufacturer programs the cycle on his machine and then makes available to the end user of the production machine, via an operator's panel, input masks with the aid of which it is possible to input this production parameter and optimization parameter, which can then be evaluated in the user program of the machine manufacturer, and the process and the movement of the machine can be optimized.

[0043] This then renders the properties of a library function useful for the cam disks f(x1 . . . xn), which can be created online. It is therefore possible, via the application programs, for complex cam-disk functions f(x) to be created and optimized in accordance with the prevailing online parameters in the operating time system; an optimal movement synchronism between shafts, for example between a main shaft and slave shafts of a production machine, can be produced with the aid of these cam-disk functions. 

We claim:
 1. A method for creating and/or optimizing a cam-disk function for controlling a moving machine element of a numerically controlled production machine or the like in the operating time system of the machine, a movement of the machine element being described in sections by the cam-disk function by virtue of the fact that individual consecutive movement sections are defined by segments and/or points, and interpolation is carried out between such movement sections according to a prescribable interpolation rule instructions being provided for prescribing and/or for inserting points segments and interpolation rules in relation to the operating time.
 2. The method for creating and/or optimizing a cam-disk function according to claim 1, in which segments are prescribed by a combination of a polynomial and a trigonometric component.
 3. The method for creating and/or optimizing a cam-disk function according to claim 2, in which a combination of a polynomial having at least a polynomial degree of six and a sinusoidal function is used as trigonometric component for defining segments.
 4. The method for creating and/or optimizing a cam-disk function according to claim 1, in which a linear connection between consecutive movement sections is prescribed as interpolation rule.
 5. The method for creating and/or optimizing a cam-disk function according to claim 1, in which cubic splines are prescribed as interpolation rule for connection between consecutive movement sections.
 6. The method for creating and/or optimizing a cam-disk function according to claim 1, in which Bezier splines are prescribed as interpolation rule for connection between consecutive movement sections.
 7. The method for creating and/or optimizing a cam-disk function according to claim 2, in which polynomial segments are stored in normal form in a generally valid fashion, and supplementary parameters referring to the respective actual extension for both axial coordinates are allocated.
 8. The method for creating and/or optimizing a cam-disk function according to claim 2, in which the response at the edges of the cam-disk function is prescribed via criteria referring to the continuity of the position and/or the speed and/or the acceleration of the machine element.
 9. The method for creating and/or optimizing a cam-disk function according to claim 2, in which in relation to the operating time scaling ranges and scaling factors for these ranges are prescribed in the control program of the machine.
 10. The method for creating and/or optimizing a cam-disk function according to claim 2, in which parameters for defining the cam-disk function are derived directly from a machining process of the machine.
 11. The method for creating and/or optimizing a cam-disk function according to claim 2, in which an existing cam-disk function is reset in the operating time system for the purpose of preparing a new definition of a cam-disk function.
 12. A controller for a moving machine element of an industrial production machine or the like, in which a movement of the machine element can be described in sections by the cam-disk function in the operating time system of the controller via appropriate control instructions for creating and/or optimizing a cam-disk function by virtue of the fact that individual consecutive movement sections can be defined by segments and/or points, and interpolation can be carried out between such movement sections according to a prescribable interpolation rule control instructions being provided for prescribing and/or for inserting points segments and interpolation rules in relation to the operating time.
 13. The controller according to claim 12, in which a computing means is provided which serves to determine segments by means of a combination of a polynomial and a trigonometric component.
 14. The controller according to claim 13, in which in order to define a segment the computing means combines a polynomial having at least a polynomial degree of six with a sinusoidal function as trigonometric component.
 15. The controller according to claim 12, in which a linear connection can be interpolated by the computing means between consecutive movement sections.
 16. The controller according to claim 12, in which the computing means can be used to interpolate between consecutive movement sections by means of cubic splines.
 17. The controller according to claim 12, in which the computing means can be used to interpolate between consecutive movement sections by means of Bezier splines.
 18. The controller according to claim 13, in which polynomial segments can be stored in the controller in normal form in a generally valid fashion together with supplementary parameters referring to the respective actual extension for both axial coordinates.
 19. The controller according to claim 12, in which the controller can be prescribed, in the operating time system, the response at the edges of the cam-disk function via criteria referring to the continuity of the position and/or the speed and/or the acceleration of the machine element.
 20. The controller according to claim 12, in which the controller can be prescribed, in the operating time system, scaling ranges and scaling factors for these ranges in the operating time system of the machine.
 21. The controller according to claim 12, in which the parameters for defining the cam-disk function relative to the operating time can be derived directly from a current machining process, and so can be formed directly in the control program, or can be prescribed via an operator's station.
 22. The controller according to claim 12, in which an existing cam-disk function can be reset in the controller in the operating time system for the purpose of preparing a new definition of a cam-disk function.
 23. The controller according to claim 12, in which in order to control the moving machine element a slave shaft thereof follows an assigned main shaft of the machine element in accordance with the defined cam-disk function (f(x)). 